package com.lianniu.web.tea.product.dao;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.lianniu.web.tea.product.model.TeaProduct;

public interface TeaProductDao {

	/**
	 * 根据主键查询商品详情
	 * @param productid
	 * @return
	 */
	TeaProduct selectByPrimaryKey(Long productid);
	
	/**
	 * 根据条件查询商品列表
	 * @param param
	 * @return
	 */
	List<TeaProduct> selectProductListByParam(Map param);

	/**
	 * 获取公司发布的茶产品
	 * @param teaSearch 
	 * 
	 * @return
	 */
	List<TeaProduct> getTeaProductList(Map teaSearch);

	/**
	 * 获取用户发布的茶园信息列表
	 * @param param 
	 * 
	 * @return
	 */
	List<TeaProduct> getTeaGardenList(Map param);

	/**
	 * 获取用户发布的茶人茶艺表演列表
	 * @param teaSearch 
	 * 
	 * @return
	 */
	List<TeaProduct> getTeaShowList(Map teaSearch);

	/**
	 * 获取共发布的茶园总量
	 * 
	 * @return
	 */
	Float getTeaCount();

	/**
	 * 获取热门推荐列表
	 * 
	 * @return
	 */
	List<TeaProduct> getTeaHotList();

	/**
	 * 根据商品id获取当前商品的详细信息
	 * 
	 * @return
	 */
	TeaProduct getTeaProductInfo(@Param("productId") Long productId);

	/**
	 * 获取共交易的茶园成功总量
	 * 
	 * @return
	 */
	Float getTeaSuccessCount();

	/**
	 * 获取茶旅联盟列表
	 * @return
	 */
	List<TeaProduct> getTeaClubList();

	/**
	 * 获取生成订单的商品信息
	 * @param valueOf
	 * @return
	 */
	TeaProduct selectProOeder(Long productId);

	/**
	 *获取用的喜欢列表
	 * @param type
	 * @return
	 */
	List<TeaProduct> getLikeProduct(String type);

	/**
	 * 搜索
	 * @param type
	 * @return
	 */
	List<TeaProduct> searchProduct(Map params);
	/**
	 * 根据条件查询我的收藏
	 * @param param
	 * @return
	 */
	List<TeaProduct> getTeaProductListByCollection(Map param);
	/**
	 * 查询我的资讯列表
	 * @param param
	 * @return
	 */
	List<TeaProduct> getZXList(HashMap<String, String> param);
	/**
	 * 修改资讯阅读量
	 * @param param
	 */
	void updateZX(HashMap<String, String> param);
}